RestTemplate

您所在的位置:网站首页 resttemplate post header RestTemplate

RestTemplate

#RestTemplate| 来源: 网络整理| 查看: 265

Overview  Package   Class  Tree  Deprecated  Index  Help   PREV CLASS   NEXT CLASS FRAMES    NO FRAMES     SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD org.springframework.web.client Class RestTemplate java.lang.Object org.springframework.http.client.support.HttpAccessor org.springframework.web.client.RestTemplate All Implemented Interfaces: RestOperations public class RestTemplateextends HttpAccessorimplements RestOperations

The central class for client-side HTTP access. It simplifies communication with HTTP servers, and enforces RESTful principles. It handles HTTP connections, leaving application code to provide URLs (with possible template variables) and extract results.

The main entry points of this template are the methods named after the six main HTTP methods:

HTTP methodRestTemplate methods DELETEdelete(java.lang.String, java.lang.Object...) GETgetForObject(java.lang.String, java.lang.Class, java.lang.Object...) getForEntity(java.lang.String, java.lang.Class, java.lang.Object...) HEADheadForHeaders(java.lang.String, java.lang.Object...) OPTIONSoptionsForAllow(java.lang.String, java.lang.Object...) POSTpostForLocation(java.lang.String, java.lang.Object, java.lang.Object...) postForObject(java.lang.String, java.lang.Object, java.lang.Class, java.lang.Object...) PUTput(java.lang.String, java.lang.Object, java.lang.Object...) anyexchange(java.lang.String, org.springframework.http.HttpMethod, org.springframework.http.HttpEntity>, java.lang.Class, java.lang.Object...) execute(java.lang.String, org.springframework.http.HttpMethod, org.springframework.web.client.RequestCallback, org.springframework.web.client.ResponseExtractor, java.lang.Object...)

For each of these HTTP methods, there are three corresponding Java methods in the RestTemplate. Two variant take a String URI as first argument (eg. getForObject(String, Class, Object[]), getForObject(String, Class, Map)), and are capable of substituting any URI templates in that URL using either a String variable arguments array, or a Map. The string varargs variant expands the given template variables in order, so that

String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class,"42", "21"); will perform a GET on http://example.com/hotels/42/bookings/21. The map variant expands the template based on variable name, and is therefore more useful when using many variables, or when a single variable is used multiple times. For example: Map vars = Collections.singletonMap("hotel", "42"); String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/rooms/{hotel}", String.class, vars); will perform a GET on http://example.com/hotels/42/rooms/42. Alternatively, there are URI variant methods (getForObject(URI, Class)), which do not allow for URI templates, but allow you to reuse a single, expanded URI multiple times.

Furthermore, the String-argument methods assume that the URL String is unencoded. This means that

restTemplate.getForObject("http://example.com/hotel list"); will perform a GET on http://example.com/hotel%20list. As a result, any URL passed that is already encoded will be encoded twice (i.e. http://example.com/hotel%20list will become http://example.com/hotel%2520list). If this behavior is undesirable, use the URI-argument methods, which will not perform any URL encoding.

Objects passed to and returned from these methods are converted to and from HTTP messages by HttpMessageConverter instances. Converters for the main mime types are registered by default, but you can also write your own converter and register it via the messageConverters bean property.

This template uses a SimpleClientHttpRequestFactory and a DefaultResponseErrorHandler as default strategies for creating HTTP connections or handling HTTP errors, respectively. These defaults can be overridden through the requestFactory and errorHandler bean properties.

Since: 3.0 Author: Arjen Poutsma See Also:HttpMessageConverter, RequestCallback, ResponseExtractor, ResponseErrorHandler

Field Summary   Fields inherited from class org.springframework.http.client.support.HttpAccessor logger   Constructor Summary RestTemplate()           Create a new instance of the RestTemplate using default settings. RestTemplate(ClientHttpRequestFactory requestFactory)           Create a new instance of the RestTemplate based on the given ClientHttpRequestFactory.   Method Summary  void delete(String url, Map urlVariables)           Delete the resources at the specified URI.  void delete(String url, Object... urlVariables)           Delete the resources at the specified URI.  void delete(URI url)           Delete the resources at the specified URL. protected T doExecute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor)           Execute the given method on the provided URI. ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Map uriVariables)           Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity. ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Object... uriVariables)           Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity. ResponseEntity exchange(URI url, HttpMethod method, HttpEntity requestEntity, Class responseType)           Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity. T execute(String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor, Map urlVariables)           Execute the HTTP method to the given URI template, preparing the request with the RequestCallback, and reading the response with a ResponseExtractor. T execute(String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor, Object... urlVariables)           Execute the HTTP method to the given URI template, preparing the request with the RequestCallback, and reading the response with a ResponseExtractor. T execute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor)           Execute the HTTP method to the given URL, preparing the request with the RequestCallback, and reading the response with a ResponseExtractor.  ResponseErrorHandler getErrorHandler()           Return the error handler. ResponseEntity getForEntity(String url, Class responseType, Map urlVariables)           Retrieve a representation by doing a GET on the URI template. ResponseEntity getForEntity(String url, Class responseType, Object... urlVariables)           Retrieve an entity by doing a GET on the specified URL. ResponseEntity getForEntity(URI url, Class responseType)           Retrieve a representation by doing a GET on the URL . T getForObject(String url, Class responseType, Map urlVariables)           Retrieve a representation by doing a GET on the URI template. T getForObject(String url, Class responseType, Object... urlVariables)           Retrieve a representation by doing a GET on the specified URL. T getForObject(URI url, Class responseType)           Retrieve a representation by doing a GET on the URL .  List> getMessageConverters() Returns the message body converters. These converters are used to convert from and to HTTP requests and responses.

setErrorHandler public void setErrorHandler(ResponseErrorHandler errorHandler) Set the error handler.

getErrorHandler public ResponseErrorHandler getErrorHandler() Return the error handler. By default, this is the DefaultResponseErrorHandler.

getForObject public T getForObject(String url, Class responseType, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Retrieve a representation by doing a GET on the specified URL. The response (if any) is converted and returned.

URI Template variables are expanded using the given URI variables, if any.

Specified by:getForObject in interface RestOperations Parameters:url - the URLresponseType - the type of the return valueurlVariables - the variables to expand the template Returns:the converted object Throws: RestClientException getForObject public T getForObject(String url, Class responseType, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Retrieve a representation by doing a GET on the URI template. The response (if any) is converted and returned.

URI Template variables are expanded using the given map.

Specified by:getForObject in interface RestOperations Parameters:url - the URLresponseType - the type of the return valueurlVariables - the map containing variables for the URI template Returns:the converted object Throws: RestClientException getForObject public T getForObject(URI url, Class responseType) throws RestClientException Description copied from interface: RestOperations Retrieve a representation by doing a GET on the URL . The response (if any) is converted and returned.

Specified by:getForObject in interface RestOperations Parameters:url - the URLresponseType - the type of the return value Returns:the converted object Throws: RestClientException getForEntity public ResponseEntity getForEntity(String url, Class responseType, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Retrieve an entity by doing a GET on the specified URL. The response is converted and stored in an ResponseEntity.

URI Template variables are expanded using the given URI variables, if any.

Specified by:getForEntity in interface RestOperations Parameters:url - the URLresponseType - the type of the return valueurlVariables - the variables to expand the template Returns:the entity Throws: RestClientException getForEntity public ResponseEntity getForEntity(String url, Class responseType, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Retrieve a representation by doing a GET on the URI template. The response is converted and stored in an ResponseEntity.

URI Template variables are expanded using the given map.

Specified by:getForEntity in interface RestOperations Parameters:url - the URLresponseType - the type of the return valueurlVariables - the map containing variables for the URI template Returns:the converted object Throws: RestClientException getForEntity public ResponseEntity getForEntity(URI url, Class responseType) throws RestClientException Description copied from interface: RestOperations Retrieve a representation by doing a GET on the URL . The response is converted and stored in an ResponseEntity.

Specified by:getForEntity in interface RestOperations Parameters:url - the URLresponseType - the type of the return value Returns:the converted object Throws: RestClientException headForHeaders public HttpHeaders headForHeaders(String url, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Retrieve all headers of the resource specified by the URI template.

URI Template variables are expanded using the given URI variables, if any.

Specified by:headForHeaders in interface RestOperations Parameters:url - the URLurlVariables - the variables to expand the template Returns:all HTTP headers of that resource Throws: RestClientException headForHeaders public HttpHeaders headForHeaders(String url, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Retrieve all headers of the resource specified by the URI template.

URI Template variables are expanded using the given map.

Specified by:headForHeaders in interface RestOperations Parameters:url - the URLurlVariables - the map containing variables for the URI template Returns:all HTTP headers of that resource Throws: RestClientException headForHeaders public HttpHeaders headForHeaders(URI url) throws RestClientException Description copied from interface: RestOperations Retrieve all headers of the resource specified by the URL.

Specified by:headForHeaders in interface RestOperations Parameters:url - the URL Returns:all HTTP headers of that resource Throws: RestClientException postForLocation public URI postForLocation(String url, Object request, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URI template, and returns the value of the Location header. This header typically indicates where the new resource is stored.

URI Template variables are expanded using the given URI variables, if any.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForLocation in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nullurlVariables - the variables to expand the template Returns:the value for the Location header Throws: RestClientExceptionSee Also:HttpEntity postForLocation public URI postForLocation(String url, Object request, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URI template, and returns the value of the Location header. This header typically indicates where the new resource is stored.

URI Template variables are expanded using the given map.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForLocation in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nullurlVariables - the variables to expand the template Returns:the value for the Location header Throws: RestClientExceptionSee Also:HttpEntity postForLocation public URI postForLocation(URI url, Object request) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URL, and returns the value of the Location header. This header typically indicates where the new resource is stored.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForLocation in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be null Returns:the value for the Location header Throws: RestClientExceptionSee Also:HttpEntity postForObject public T postForObject(String url, Object request, Class responseType, Object... uriVariables) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URI template, and returns the representation found in the response.

URI Template variables are expanded using the given URI variables, if any.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForObject in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nullresponseType - the type of the return valueuriVariables - the variables to expand the template Returns:the converted object Throws: RestClientExceptionSee Also:HttpEntity postForObject public T postForObject(String url, Object request, Class responseType, Map uriVariables) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URI template, and returns the representation found in the response.

URI Template variables are expanded using the given map.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForObject in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nullresponseType - the type of the return valueuriVariables - the variables to expand the template Returns:the converted object Throws: RestClientExceptionSee Also:HttpEntity postForObject public T postForObject(URI url, Object request, Class responseType) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URL, and returns the representation found in the response.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForObject in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nullresponseType - the type of the return value Returns:the converted object Throws: RestClientExceptionSee Also:HttpEntity postForEntity public ResponseEntity postForEntity(String url, Object request, Class responseType, Object... uriVariables) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URI template, and returns the response as ResponseEntity.

URI Template variables are expanded using the given URI variables, if any.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForEntity in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nulluriVariables - the variables to expand the template Returns:the converted object Throws: RestClientExceptionSee Also:HttpEntity postForEntity public ResponseEntity postForEntity(String url, Object request, Class responseType, Map uriVariables) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URI template, and returns the response as HttpEntity.

URI Template variables are expanded using the given map.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForEntity in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be nulluriVariables - the variables to expand the template Returns:the converted object Throws: RestClientExceptionSee Also:HttpEntity postForEntity public ResponseEntity postForEntity(URI url, Object request, Class responseType) throws RestClientException Description copied from interface: RestOperations Create a new resource by POSTing the given object to the URL, and returns the response as ResponseEntity.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:postForEntity in interface RestOperations Parameters:url - the URLrequest - the Object to be POSTed, may be null Returns:the converted object Throws: RestClientExceptionSee Also:HttpEntity put public void put(String url, Object request, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Create or update a resource by PUTting the given object to the URI.

URI Template variables are expanded using the given URI variables, if any.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:put in interface RestOperations Parameters:url - the URLrequest - the Object to be PUT, may be nullurlVariables - the variables to expand the template Throws: RestClientExceptionSee Also:HttpEntity put public void put(String url, Object request, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Creates a new resource by PUTting the given object to URI template.

URI Template variables are expanded using the given map.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:put in interface RestOperations Parameters:url - the URLrequest - the Object to be PUT, may be nullurlVariables - the variables to expand the template Throws: RestClientExceptionSee Also:HttpEntity put public void put(URI url, Object request) throws RestClientException Description copied from interface: RestOperations Creates a new resource by PUTting the given object to URL.

The request parameter can be a HttpEntity in order to add additional HTTP headers to the request.

Specified by:put in interface RestOperations Parameters:url - the URLrequest - the Object to be PUT, may be null Throws: RestClientExceptionSee Also:HttpEntity delete public void delete(String url, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Delete the resources at the specified URI.

URI Template variables are expanded using the given URI variables, if any.

Specified by:delete in interface RestOperations Parameters:url - the URLurlVariables - the variables to expand in the template Throws: RestClientException delete public void delete(String url, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Delete the resources at the specified URI.

URI Template variables are expanded using the given map.

Specified by:delete in interface RestOperations Parameters:url - the URLurlVariables - the variables to expand the template Throws: RestClientException delete public void delete(URI url) throws RestClientException Description copied from interface: RestOperations Delete the resources at the specified URL.

Specified by:delete in interface RestOperations Parameters:url - the URL Throws: RestClientException optionsForAllow public Set optionsForAllow(String url, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Return the value of the Allow header for the given URI.

URI Template variables are expanded using the given URI variables, if any.

Specified by:optionsForAllow in interface RestOperations Parameters:url - the URLurlVariables - the variables to expand in the template Returns:the value of the allow header Throws: RestClientException optionsForAllow public Set optionsForAllow(String url, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Return the value of the Allow header for the given URI.

URI Template variables are expanded using the given map.

Specified by:optionsForAllow in interface RestOperations Parameters:url - the URLurlVariables - the variables to expand in the template Returns:the value of the allow header Throws: RestClientException optionsForAllow public Set optionsForAllow(URI url) throws RestClientException Description copied from interface: RestOperations Return the value of the Allow header for the given URL.

Specified by:optionsForAllow in interface RestOperations Parameters:url - the URL Returns:the value of the allow header Throws: RestClientException exchange public ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Object... uriVariables) throws RestClientException Description copied from interface: RestOperations Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity.

URI Template variables are expanded using the given URI variables, if any.

Specified by:exchange in interface RestOperations Parameters:url - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request, may be nullresponseType - the type of the return valueuriVariables - the variables to expand in the template Returns:the response as entity Throws: RestClientException exchange public ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Map uriVariables) throws RestClientException Description copied from interface: RestOperations Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity.

URI Template variables are expanded using the given URI variables, if any.

Specified by:exchange in interface RestOperations Parameters:url - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request, may be nullresponseType - the type of the return valueuriVariables - the variables to expand in the template Returns:the response as entity Throws: RestClientException exchange public ResponseEntity exchange(URI url, HttpMethod method, HttpEntity requestEntity, Class responseType) throws RestClientException Description copied from interface: RestOperations Execute the HTTP method to the given URI template, writing the given request entity to the request, and returns the response as ResponseEntity.

Specified by:exchange in interface RestOperations Parameters:url - the URLmethod - the HTTP method (GET, POST, etc)requestEntity - the entity (headers and/or body) to write to the request, may be nullresponseType - the type of the return value Returns:the response as entity Throws: RestClientException execute public T execute(String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor, Object... urlVariables) throws RestClientException Description copied from interface: RestOperations Execute the HTTP method to the given URI template, preparing the request with the RequestCallback, and reading the response with a ResponseExtractor.

URI Template variables are expanded using the given URI variables, if any.

Specified by:execute in interface RestOperations Parameters:url - the URLmethod - the HTTP method (GET, POST, etc)requestCallback - object that prepares the requestresponseExtractor - object that extracts the return value from the responseurlVariables - the variables to expand in the template Returns:an arbitrary object, as returned by the ResponseExtractor Throws: RestClientException execute public T execute(String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor, Map urlVariables) throws RestClientException Description copied from interface: RestOperations Execute the HTTP method to the given URI template, preparing the request with the RequestCallback, and reading the response with a ResponseExtractor.

URI Template variables are expanded using the given URI variables map.

Specified by:execute in interface RestOperations Parameters:url - the URLmethod - the HTTP method (GET, POST, etc)requestCallback - object that prepares the requestresponseExtractor - object that extracts the return value from the responseurlVariables - the variables to expand in the template Returns:an arbitrary object, as returned by the ResponseExtractor Throws: RestClientException execute public T execute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor) throws RestClientException Description copied from interface: RestOperations Execute the HTTP method to the given URL, preparing the request with the RequestCallback, and reading the response with a ResponseExtractor.

Specified by:execute in interface RestOperations Parameters:url - the URLmethod - the HTTP method (GET, POST, etc)requestCallback - object that prepares the requestresponseExtractor - object that extracts the return value from the response Returns:an arbitrary object, as returned by the ResponseExtractor Throws: RestClientException doExecute protected T doExecute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor) throws RestClientException Execute the given method on the provided URI. The ClientHttpRequest is processed using the RequestCallback; the response with the ResponseExtractor.

Parameters:url - the fully-expanded URL to connect tomethod - the HTTP method to execute (GET, POST, etc.)requestCallback - object that prepares the request (can be null)responseExtractor - object that extracts the return value from the response (can be null) Returns:an arbitrary object, as returned by the ResponseExtractor Throws: RestClientException Overview  Package   Class  Tree  Deprecated  Index  Help   PREV CLASS   NEXT CLASS FRAMES    NO FRAMES     SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3